package com.demodis.service;

import java.util.Map;

import com.demodis.domain.TblDetContent;
import com.demodis.domain.TblDeterPerson;

public interface DetContentServiceI extends BaseServiceI<TblDetContent> {

	public Object querySDC(TblDetContent t);
	
	/**
	 * 计算该被测评者的分数
	 * @param deterPer
	 * @return
	 */
	Map<String, Object> jishuan(TblDeterPerson deterPer);

	/**
	 * 获取当前用户的测评结果
	 * 
	 * @param userId
	 *            当前用户ID
	 * @return
	 */
	public Object getContResFroCUser(int userId, int postId, int type);
	
	/**
	 * 获取校长和书记评价结果  
	 * @param userId
	 * @return
	 */
	public double getPresidentAndSecretariatAppraise(int userId);
	
	/**
	 * 获取当前部门所得分数
	 * @param userId
	 * @return
	 */
	public double getZhijiGroupScore(int groupId);
	
	/**
	 * 获取院领导对当前用户评价的分数
	 * @param userId
	 * @return
	 */
	public double getAllFenguanLeaderScore(int userId);
	
	/**
	 * 获取当前用户所在部门的员工对自己的评价
	 * @param userId
	 * @param groupId
	 * @return
	 */
	public double getZhijiGroupEmployeeAppraiseResult(int userId, int groupId);
	
	/**
	 * 获得个人测评分数
	 * @param userId
	 * @return
	 */
	public double getDeterScore(int userId);
	
	/**
	 * 获得手工录入成绩
	 * @param userId
	 * @return
	 */
	public Map<String, Double> getortherScore(int userId);
	
	/**
	 * 获取分管部门员工评价结果
	 * @param userId
	 * @return
	 */
	public double getChargeGroupEmployeeAppraiseResult(int userId);
	
	/**
	 * 获取所以二级领导（中干）评价结果
	 * @param userId
	 * @return
	 */
	public double getAllTwoLevelLeaderAppraiseResult(int userId);
	
	/**
	 * 获得院领导得分
	 * @param deterPer
	 * @return
	 */
	public Map<String, Object> getLeader(TblDeterPerson deterPer);
	
	/**
	 * 获得中干得分
	 * @param deterPer
	 * @return
	 */
	public Map<String, Object> getZhonggan(TblDeterPerson deterPer);
	
	/**
	 * 获得职能得分
	 * @param deterPer
	 * @return
	 */
	public Map<String, Object> getZhineng(TblDeterPerson deterPer);
	
	/**
	 * 获得普通员工的分数
	 * @param deterPer
	 * @return
	 */
	public double getOrdinary(TblDeterPerson deterPer);
	
	/**
	 * 获得分管组所得分数
	 * @param deterPer
	 * @return
	 */
	public double getDeterManagerGroups(int userId);
}
